/// \file
/// The source file containing the program entry point.
/// \par Subversion URI:
/// \$URL: http://doku.googlecode.com/svn/trunk/src/main.cpp $
/// \version \$Rev: 26 $
/// \date    \$Date: 2012-03-19 20:05:10 +0000 (Mon, 19 Mar 2012) $

#include <cstdlib>
#include <sstream>

#include "solver.hpp"

using namespace std;

/// The program entry point.
/// Takes care of i/o and instantiates the main solver class.
/// \param  nargs The number of command line arguments.
/// \param  args  The command line argument table.
/// \return       The program error level.
int main(int nargs, char **args)
{
	cout << "Please enter the Sudoku puzzle." << endl
		<< "- Whitespace (including enter) is ignored" << endl
		<< "- Other non-numerals are treated as unknown cells" << endl << endl;

	solver::Board b(cin);
	b.FinishSolve(cout);
	system("pause");
	return 0;
}

/* Test sets
===============================
1-- --- ---
2-- --- ---
--- --- ---

4-- --- ---
5-- --- ---
--- 3-- ---

7-- --- ---
8-- --- ---
--- --- 3--
===============================
--6 --- 8--
7-- 2-5 ---
--- -4- 23-

--- -13 --8
--5 --- 9--
9-- 52- ---

-87 -9- ---
--- 4-7 --6
--4 --- 3--
===============================
-8- -9- ---
5-- --4 --9
-7- --8 --5

-36 --- --8
-5- 2-9 -1-
1-- --- 24-

3-- 6-- -7-
7-- 8-- --4
--- -1- -3-
===============================
39- 7-- ---
15- --- -87
7-- --1 ---

91- 32- -48
8-- --- ---
-2- 148 ---

--1 2-3 -5-
--9 41- 2--
23- -95 -1-
*/